/**** Calcule sur une base de 360px ****/

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/******** HEADER *********/

.header_desk { /* desktop */
    display: none
}

.nav_desk {
    display: none
}

.header_desk_scroll {
    display: none
}

.haut_de_page_scroll_desk {
    display: none
}

.nav_mob_fixed {
    position: fixed;
    z-index: 100;
}

.nav_mob {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #6b1e3b;
    width: 100vw;
    height: 22vw;
}

.logo_head {
    width: 20vw;
    height: auto;
    margin: 1.5vw 0 0 5vw;
}

.contact_header_mob {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    width: 18vw;
    height: 18vw;
    line-height: 1.4;
    margin-right: 22vw
}

.contact_header_mob p {
    color: #ffeff3;
    text-decoration: none;
    text-align: start;
    width: 55vw;
    font-family: sans-serif;
    font-size: 3.2vw;
    margin-left: -6vw;
}

.button_rendez-vous {
    width: 38vw;
    height: 5vw;
    /*border: 1px solid #000000;*/
    background-color: #b36e7a;
    /*border-radius: 13.9vw;*/
    font-size: 3.2vw;
    font-family: sans-serif;
    color: #ffeff3;
    cursor: pointer;
}

.logo_planity {
    width: 18vw;
    height: auto;
    margin-left: 2vw;
}

.hamburger {
    width: 5vw;
    height: 4.2vw;
    margin: 11.1vw 8.3vw 0 0
}

#nav_id { /* mobile */
    position: absolute;
    width: 100vw;
    height: 90vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3vw;
    text-align: center;
    font-size: 4vw;
    font-family: sans-serif;
    letter-spacing: 0.5vw;
    font-weight: 400;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease;
    background-color:#b36e7a;
    border-top: solid 0.2vw #034B3E;
    border-bottom: solid 0.2vw #034B3E;
}

#nav_id a {
    color:#ffeff3;
    text-decoration: none;
}

.hr_nav { /* desktop */
    display:none
}

.haut_de_page_scroll_mob {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color:#034B3E;
    border:solid 0.5px #ffeff3;
    width: 8.3vw;
    height: 8.3vw;
    border-radius: 50%;
    bottom: 10vw;
    right: 5vw;
    visibility: hidden;
    z-index: 2;
}

.haut_de_page_scroll_mob_img {
    width: 4.2vw;
    height: 4.2vw;
}

/******** FOOTER ********/

.footer_mob {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-around;
    background-color: #6b1e3b;
    width: 100vw;
    height: 154.2vw;
    position: relative;
    z-index: 3;
}

.haut_de_page_desk { /* bouton desktop */
    display: none
}

.haut_de_page_mob {
    background-color: transparent;
    width: 5.5vw;
    height: 5.5vw;
    position: absolute;
    top: 5.5vw;
    right: 6.9vw
}

.haut_de_page_mob img {
    width: 5.5vw;
    height: 5.5vw;
}

.logo_foot {
    width: 20vw;
    height: auto;
}

.reseau_sociaux {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    width: 69.4vw;
    height: 22.2vw;
}

.reseau_sociaux p {
    font-size: 5.5vw;
    font-family: sans-serif;
    color: #ffeff3
}

.icon_sociaux {
    width: 69.4vw;
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
}

.icon_sociaux img {
    width: 9.7vw;
    height: 9.7vw;
}

.contact {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-around;
    width: 70vw;
    height: 50vw;
}

.contact p {
    font-size: 5vw;
    font-family: sans-serif;
    color: #ffeff3
}

.contact ul {
    list-style: none;
    font-size: 3.9vw;
    font-family: sans-serif;
    color: #ffeff3;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    height: 40vw;
    letter-spacing: 0.1vw;
}

.hr_foot {
    width: 90vw;
    height: 0.3vw;
    border: solid 0.3vw #ffeff3;
    text-align: center;
    color: #ffeff3;
    margin-bottom: -8.3vw;
}

.mention {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.mention p {
    font-size: 3.9vw;
    font-family: sans-serif;
    color: #ffeff3;
}

.mention a {
    text-decoration:underline;
    font-weight: bold;
    color: #ffeff3
}

/********** POP UP **********/

/* Masque le pop-up par défaut */
#popup {
    display: none;           /* Masqué par défaut */
    position: fixed;
    inset: 0;                /* top:0; left:0; right:0; bottom:0 */
    width: 100vw;            /* largeur exacte du viewport */
    height: 100vh;           /* hauteur exacte du viewport */
    background: rgba(0,0,0,0.6); /* fond noir transparent */
    justify-content: center;
    align-items: center;
    z-index: 9999;
    overflow: hidden;        /* empêche tout dépassement du fond */
    box-sizing: border-box;
}

/* POP-UP CONTENT */
#popup-content {
    width: 80vw;             /* largeur de la boîte en vw */
    padding: 5vw;            /* padding en vw */
    background-color: #b36e7a;
    border-radius: 2vw;
    overflow-y: auto;        /* scroll vertical si nécessaire */
    overflow-x: hidden;      /* pas de scroll horizontal */
    box-sizing: border-box;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-shadow: 0 0 5vw rgba(0,0,0,0.3);
    border: solid 0.5vw #6b1e3b;
    gap: 3vw;
}

#popup-content h2 {
    width: 70vw;
    font-size: 5vw;
    font-family: Arial, sans-serif;
    color: #ffeff3;
}

#popup-content p {
    width: 70vw;
    font-size: 4.5vw;
    font-family: Arial, sans-serif;
    color: #ffeff3;
}

#popup-content button {
    width: 15vw;
    margin-top: 2vw;
    font-size: 3vw;
    font-family: Arial, sans-serif;
    background: #6b1e3b;
    color: #ffeff3;
    border-color: #FFFFFF;
    border-radius: 4vw;
    cursor: pointer;
}

.btn-planity {
    width: 45vw;
    margin-top: 2vw;
    font-size: 3vw;
    font-family: Arial, sans-serif;
    background: #ffeff3;
    color: #000000;
    border: 0.2vw solid #6b1e3b;  
    border-radius: 4vw;
    cursor: pointer;
    text-decoration: none;
}

/* Scrollbar pour Chrome, Edge, Safari */
#popup-content::-webkit-scrollbar {
    width: 1vw;                 /* largeur du scrollbar */
}

#popup-content::-webkit-scrollbar-track {
    background: #034B3E;        /* couleur du fond de la barre */
    border-radius: 2vw;
}

#popup-content::-webkit-scrollbar-thumb {
    background: #6b1e3b;        /* couleur du pouce */
    border-radius: 2vw;
}

#popup-content::-webkit-scrollbar-thumb:hover {
    background: #ffeff3;        /* couleur au survol */
}

/* Scrollbar pour Firefox */
#popup-content {
    scrollbar-width: thin;
    scrollbar-color: #b36e7a #6b1e3b;  /* thumb + track */
}

/******** COOKIES ****************/

/* Style du bandeau cookies */
#cookie_banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #222;
  color: #fff;
  padding: 5vw 8vw;
  display: flex;
  flex-direction: column;
  gap: 4vw;
  justify-content: space-between;
  align-items: center;
  font-family: Arial, sans-serif;
  font-size: 4vw;
  z-index: 9999;
  box-shadow: 0 -0.2vw 2vw rgba(0,0,0,0.3);
}

/* Boutons */
.cookie_actions {
  display: flex;
  gap: 2vw;
}

#cookie_banner button {
  padding: 1vw 3vw;
  border: none;
  border-radius: 2vw;
  cursor: pointer;
  font-weight: bold;
}

#accept_cookies {
  background-color: #D39D48;
  color: #fff;
}

#accept_cookies:hover {
  background-color: #D39D48;
}

#decline_cookies {
  background-color: #555;
  color: #fff;
}

#decline_cookies:hover {
  background-color: #333;
}

/******* VERSION DESKTOP *******/

/**** Calcule sur une base de 1440px ****/

@media (orientation: landscape) {

/******** HEADER *******/

.nav_mob { /* navigateur mobile */
    display: none
}

#nav_id {
    display: none
}

.header_desk {
    display: flex;
    justify-content: space-around;
    align-items: center;
    background-color: #6b1e3b;
    width : 100vw;
    height: 11.1vw;
    font-size: 1.2vw;
    font-family: sans-serif;
}

.header_desk img {
    width: 10vw;
    height: auto;
    margin: 0;
}

.contact_header {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    width: 18vw;
    height: 9vw;
    line-height: 1.4;
}

.button_rendez-vous_desk {
    width: 13vw;
    height: 2.3vw;
    /*border: 1px solid #D39D48;*/
    background-color: #b36e7a;
    /*border-radius: 13.9vw;*/
    font-size: 1.2vw;
    font-family: sans-serif;
    color: #ffeff3;
    cursor: pointer;
}

.contact_header img {
    width: 9vw;
    height: auto;
}

.apropos_contact_header {
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center;
    width: 18vw;
    height:10vw;
}

.apropos_contact_header hr {
    width: 9vw;
    height: 0vw
}

.header_desk a {
    color: #ffeff3;
    text-decoration: none;
    text-align: start;
}

.header_desk p {
    color: #ffeff3;
    text-decoration: none;
    text-align: start;
    margin-left: 1.4vw
}

.nav_desk {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    width : 100vw;
    height: 4.2vw;
    background-color: #b36e7a;
    border-top: solid 0.07vw #034b3e;
}

.nav_desk a {
    text-decoration: none;
    font-size: 1.2vw;
    font-family: sans-serif;
    color: #ffeff3;
    text-align: center;
}

.nav_desk p {
    text-decoration: none;
    font-size: 1.2vw;
    font-family: sans-serif;
    color: #ffeff3;
    text-align: center;
    cursor: pointer;
}

.nav_desk a:hover {
    transform:scale(1.1); /* effet de zoom */
    transition: all 0.1s ease;
    color: #6b1e3b
}

/****** MENU LES MASSAGES *********/

#nav_massages_id {
    position: absolute;
    top: 15.3vw;
    left: 60vw;
    width: 18vw;
    height: 18vw;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 2.8vw;
    font-size: 1.2vw;
    font-family: sans-serif;
    font-weight: 400;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease;
    background-color:#b36e7a;
    z-index: 100;
    /*border-top: solid 0.2vw #D39D48;
    border-bottom: solid 0.2vw #D39D48;*/
}

#nav_massages_id a {
    color:#ffeff3;
    text-decoration: none;
    text-align: start;
    padding-left: 1.2vw;
}

#nav_massages_id a:hover {
    transform:scale(1.1); /* effet de zoom */
    transition: all 0.1s ease;
    color: #6b1e3b
}

#bouton_massages_id:hover {
    transform:scale(1.1); /* effet de zoom */
    transition: all 0.1s ease;
    color: #6b1e3b
}

/****** MENU AUTRE PRESTATIONS *********/

#nav_prestations_id {
    position: absolute;
    top: 15.3vw;
    right: 0vw;
    width: 18vw;
    height: 12vw;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 2.8vw;
    font-size: 1.2vw;
    font-family: sans-serif;
    font-weight: 400;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease;
    background-color:#b36e7a;
    z-index: 100;
    /*border-top: solid 0.2vw #D39D48;
    border-bottom: solid 0.2vw #D39D48;*/
}

#nav_prestations_id a {
    color:#ffeff3;
    text-decoration: none;
    text-align: start;
    padding-left: 1.2vw;
}

#nav_prestations_id a:hover {
    transform:scale(1.1); /* effet de zoom */
    transition: all 0.1s ease;
    color: #6b1e3b
}

#bouton_prestations_id:hover {
    transform:scale(1.1); /* effet de zoom */
    transition: all 0.1s ease;
    color: #6b1e3b
}

/********* HEADER SCROLL ********/

.header_desk_scroll {
    position:absolute;
    top: 0;
    visibility: hidden;
    pointer-events: none;
    z-index: 100;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    background-color: #6b1e3b;
    width: 100vw;
    height: 3.2vw;
    border-bottom: solid 0.2px #034b3e;
}

.header_desk_scroll img {
    width: auto;
    height: 2.1vw;
    margin: 0vw
}

.header_desk_scroll a {
    text-decoration: none;
    font-size: 0.8vw;
    font-family: sans-serif;
    color: #ffeff3;
    text-align: center;
}

.header_desk_scroll a:hover {
    transform:scale(1.1);
    transition: all 0.1s ease;
    color: #b36e7a;
}

.header_desk_scroll a:nth-child(1) {
    transform: scale(1.0);
}

.haut_de_page_scroll_desk {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color:#034B3E;
    border:solid 0.5px #FFFFFF;
    width: 2.8vw;
    height: 2.8vw;
    border-radius: 50%;
    bottom: 2.1vw;
    right: 2.8vw;
    visibility: hidden;
    z-index: 2;
}

.haut_de_page_scroll_desk_img {
    width: 1.4vw;
    height: 1.4vw;
}

/******** FOOTER ********/

.footer_mob {
    width: 100vw;
    height: 41.7vw;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 12.8vw 23.2vw 0.07vw 5.5vw;
    z-index: 3;
}

.haut_de_page_mob { /* bouton mobile */
    display:none
}

.haut_de_page_desk {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 8.7vw;
    font-size: 1.1vw;
    font-family: sans-serif;
    color: #ffeff3;
    font-weight: 300;
    position: absolute;
    top: 2.1vw;
    right: 2.8vw;
}

.haut_de_page_desk img {
    width: 1.4vw;
    height: 1.4vw;
}

.logo_foot {
    width: 10vw;
    height: auto;
    grid-row-start:1;
    grid-row-end:1;
    grid-column-start:2;
    grid-column-end:2;
    align-self: end;
    margin: 0 auto;
}

.reseau_sociaux {
    width: 26.4vw;
    height: 8.3vw;
    grid-row-start:2;
    grid-row-end:2;
    grid-column-start:2;
    grid-column-end:2;
    margin: auto
}

.reseau_sociaux p {
    font-size: 2.1vw;
    font-family: sans-serif;
}

.icon_sociaux {
    width: 26.4vw
}

.icon_sociaux img {
    width: 3.5vw;
    height: 3.5vw
}

.contact {
    width: 20.1vw;
    height: 16.7vw;
    align-items: flex-start;
    grid-row-start:2;
    grid-row-end:2;
    grid-column-start:1;
    grid-column-end:1;
    align-self: stretch;
    margin: 0 auto
}

.contact p {
    font-size: 1.7vw;
    font-family: sans-serif;
}

.contact ul {
    font-size: 1.4vw;
    font-family: sans-serif;
}

.hr_foot {
    height: 0.07vw;
    border: solid 0.07vw #ffeff3;
    grid-row-start:3;
    grid-row-end:3;
    grid-column-start:1;
    grid-column-end:1;
    grid-column-start:1;
    grid-column-end:span 3;
    margin: auto
}

.mention {
    grid-row-start:4;
    grid-row-end:4;
    grid-column-start:1;
    grid-column-end:span 3;
    margin: auto
}

.mention p {
    font-size: 1.4vw;
    font-family: sans-serif;
}

/***** POP UP *****/

/* La boîte blanche */
#popup-content {
    width: 40vw;
    padding: 5vw;
    border-radius: 2vw;
    box-shadow: 0 0 2.5vw rgba(0,0,0,0.3);
    border: solid 0.2.5vw #6b1e3b;
    gap: 1vw;
}

#popup-content h2 {
    width: 35vw;
    font-size: 2.5vw;
}

#popup-content p {
    width: 35vw;
    font-size: 2vw;
}

#popup-content button {
    width: 8vw;
    margin-top: 1vw;
    font-size: 1.5vw;
    border-radius: 2vw;
}

.btn-planity {
    width: 20vw;
    margin-top: 1vw;
    font-size: 1.5vw;
    border-radius: 2vw;
}

/* Scrollbar pour Chrome, Edge, Safari */
#popup-content::-webkit-scrollbar {
    width: 0.8vw;
}

#popup-content::-webkit-scrollbar-track {
    background: #6b1e3b;       /* couleur du fond de la barre */
    border-radius: 1vw;
}

#popup-content::-webkit-scrollbar-thumb {
    background: #b36e7a;       /* couleur du pouce */
    border-radius: 1vw;
}

#popup-content::-webkit-scrollbar-thumb:hover {
    background: #ffeff3;       /* couleur au survol */
}

/* Scrollbar pour Firefox */
#popup-content {
    scrollbar-width: thin;
    scrollbar-color: #b36e7a #6b1e3b;  /* thumb + track */
}

/******** COOKIES ****************/

/* Style du bandeau cookies */
#cookie_banner {
  bottom: 0;
  left: 0;
  right: 0;
  padding: 0.8vw 2vw;
  gap: 1vw;
  font-size: 1.5vw;
  box-shadow: 0 -0.2vw 2vw rgba(0,0,0,0.3);
}

/* Boutons */
.cookie_actions {
  gap: 2vw;
}

#cookie_banner button {
  padding: 0.2vw 2.5vw;
  border-radius: 2vw;
}

}